#pragma once

#include <opencv2/opencv.hpp>

using namespace cv;


void MatCreation_Demo(Mat& image)
{
	Mat m1, m2;
	//克隆
	m1 = image.clone();
	//拷贝
	image.copyTo(m2);

	//创建空白图像  图像将保存为矩阵
	//8x8像素的全0矩阵   8位 U无符号 C字符 每像素1通道  全为0
	Mat m3 = Mat::zeros(Size(8, 8), CV_8UC1);
	//8x8像素的全1矩阵   8位 U无符号 C字符 每像素1通道  全为1
	Mat m4 = Mat::ones(Size(8, 8), CV_8UC1);
	//800x800像素的全1矩阵   8位 U无符号 C字符 每像素3通道  每个像素内仅首个通道为1 其余0
	Mat m5 = Mat::ones(Size(800, 800), CV_8UC3);

	Mat	m6 = (Mat_<char>(3, 3) <<
		0, -1, 0,
		1, 5, -1,
		0, -1, 0);

	//将每个像素第一个通道变为127
	m5 = 127;

	//将每个像素的所有通道变为127
	m5 = Scalar(127, 20, 20);

	imshow("pic", m5);

	//算列出 得出宽度
	std::cout << m3.cols << std::endl;
	//算行数 得出高度
	std::cout << m3.rows << std::endl;
	//算通道数
	std::cout << m3.channels() << std::endl;

	std::cout << m3 << std::endl;
	std::cout << m6 << std::endl;
}
